Information can be unicast, broadcast and multicast on a network. Unicast information is sent to a single host on the network. Broadcast information is sent to all hosts on a given network. Multicast information is sent to a particular set of hosts. The set of hosts to which multicast information is sent is called a multicast group. Multicast information can absorb a substantial amount of network bandwidth, so it is important to deliver multicast information as efficiently as possible.
An addressing scheme can be used to control the unicast, broadcast and multicast of information on a network. As used herein, the term "network" includes an internetwork (a network ed collection of networks). An example of an addressing scheme used on a network (the Internet) is the Internet Protocol (IP), which is specified in RFC 791, http://www.nexor.com/public/rfc/rfcs/rfc791.txt, visited Mar. 23, 1998.
An IP address specifies the target of information sent over the Internet. When the most significant four bits of an IP address are set to 1110, the address is understood to refer not to a single host (unicast) or to all hosts (broadcast), but to a particular set of hosts. The remaining 28 bits of the IP address specify the particular "multicast group" to which the address refers. The set of hosts that belong to a multicast group can be members of different networks, and hosts can join and leave a group at will. Gateways and routers in the network track which hosts belong to which multicast groups, and ensure that multicast information is delivered to the right host members. An example of a protocol that supports multicasting is the Internet Group Management Protocol, RFC 1112, http://www.nexor.com/public/rfc/rfcs/rfc1112.txt, visited Mar. 23, 1998.
A host that sends and/or receives information that is multicast is called a "multicast host." A host that sends and/or receives information that is unicast is called a "unicast host."
In one known system, information is multicast directly between multicast hosts. However, this requires that the gateways and routers through which the information is sent have multicast capability. This disadvantageously increases the complexity and cost of gateways and routers throughout the network. In fact, many routers on the Internet presently do not support multicasting. As a result, many hosts on the Internet are unicast hosts, and can neither directly nor indirectly send and/or receive information that is multicast.
This problem has been addressed by employing a known apparatus called a multicast-unicast gateway (MUG). In one embodiment that can be employed on the Internet, a MUG translates multicast-addressed information that it receives from a multicast host into unicast-addressed information for unicast hosts, and vice versa. In this way, a unicast host can send and/or receive information to and/or from a multicast host. In other words, a MUG provides a multicast-unicast gateway that allows both multicast hosts and unicast hosts to participate in the same multicast session. A method and system for allowing a unicast host to participate in a multicast session using a MUG is disclosed in U.S. patent application Ser. No. 08/927,426, Method and System for a Unicast Endpoint to Access a Multicast Internet Protocol (IP) Session, filed Sep. 11, 1997, which is incorporated herein by reference.
The use of a MUG relieves the network from the burden of having to provide all of its gateways and routers with multicast capability, advantageously reducing their cost and complexity, while advantageously providing unicast hosts with the capability to participate in multicast sessions with multicast hosts.
However, known systems for delivering multicast information using MUGs do not always make the most efficient use of network bandwidth. In one known system, a unicast host is assigned to a particular MUG that acts as that unicast host's only interface to multicast sessions. In another known system, a unicast host can contact any of several MUGs to interface to a multicast session. These arrangements ignore factors that can effect the efficiency with which network bandwidth is utilized, such as the unicast host's location. For example, suppose a multicast host in the United States sends multicast information to a MUG that is also in the United States. Unicast hosts in the United States participate in this multicast session through the MUG in the United States. A thousand unicast hosts in France then join the multicast session. A thousand individually-addressed unicast streams of information then flow between the MUG in the United States and the unicast hosts in France. This is an inefficient use of network resources.
A better way would intelligently assign a unicast host to a MUG to make more efficient use of network bandwidth. For example, information could be multicast from the multicast host to each of several MUGs, and the United States unicast hosts would be served from a MUG in the United States, while the French unicast hosts would be served from a MUG in France. The thousand unicast streams of information between the United States and France would be replaced by a single multicast stream from the multicast host in the United States to the MUG in France. The MUG in France would then support the thousand streams of unicast information over a shorter, more local segment of the network to the unicast hosts in France.
FIG. 1 shows a MUG 402 in the United States providing a multicast-unicast interface to unicast hosts 406 in France. In FIG. 1, a multicast host 401 (which in this example is outside both the United States and France) multicasts information to MUG A 402 in the United States and to MUG B 403 in France. The information flow between multicast host 401 and MUGS A 402 and B 403 is shown by solid lines 404 and 405, respectively. Unicast hosts 406 in France send requests to MUG A 402 to join a multicast session with multicast host 401. MUG A 402 acts as an interface between the multicast host 401 and the unicast hosts 406. The information flow between MUG A 402 and the unicast hosts 406 is shown by solid lines 407.
FIG. 2 shows the same configuration, but MUG B located in France serves as the interface between the multicast host 401 and the French unicast hosts 406. The information flow between the MUG B and the unicast hosts is shown by solid lines 408. FIG. 2 shows a more efficient use of network resources because the information flow 408 to the unicast hosts 406 in FIG. 2 traverses a shorter distance (within France) than the information flow 407 (between France and the United States) shown in FIG. 1.
If a MUG receives a request from a unicast host to participate in a multicast session, a mechanism is needed to determine which MUG is best disposed to efficiently serve as the interface between that unicast host and the multicast host. The request may then be redirected to the appropriate MUG such that network resources are used efficiently when unicast hosts join a multicast session.